import re

from django.views import View
# 导入返回响应
from SaaSDevelTool.data_return_response import create_response
# 导入错误信息装饰器
from SaaSDevelTool.data_return_response import error_message_detection
# 导入分页器
from SaaSDevelTool.data_operation import paging_tool_join
# 获取数据库连接
from SaaSDevelTool.data_mysql_data import db
# 获取时间区间
from SaaSDevelTool.data_datetime_func import get_datatime

"""企业看板修改"""


class SaaSDataTenementUpdate(View):
    @error_message_detection
    def post(self, request):
        # 获取租户编号
        tenement_id = request.POST.get("tenement_id")
        # 获取企业名称
        tenement_name = request.POST.get("tenement_name")
        # 获取企业白色logo
        tenement_white_image = request.POST.get("tenement_white_image")
        # 获取企业彩色logo
        tenement_color_images = request.POST.get("tenement_color_images")
        # 获取企业注释
        tenement_remark = request.POST.get("tenement_remark")

        # 判断参数是否完整
        if not all([tenement_name, tenement_white_image, tenement_color_images]):
            return create_response(code=400, msg="修改失败，企业名称，企业白色logo,企业彩色logo为必选项。")

        # 判断企业名称
        if len(tenement_name) > 50:
            return create_response(code=400, msg="修改失败，企业名称最大字符位50个字符。")

        # 判断企业信息是否重复
        query_sum_up_tenement_table_sql = """
            SELECT
                tenement_name 
            FROM
                db_saas_center.sum_up_tenement_table 
            WHERE 
                tenement_name = '{}' 
            AND 
                tenement_id != '{}'
            ;""".format(tenement_name, tenement_id)

        # 进行查询操作
        query_sum_up_tenement_table_data = db.findOne(query_sum_up_tenement_table_sql)

        # 判断对应的参数
        if query_sum_up_tenement_table_data:
            return create_response(
                code=400,
                msg="添加失败，租户企业名称【{}】已存在，请更换名称再试。"
                .format(tenement_name))

        # 拼接语句
        update_sum_up_tenement_table_sql = """
            UPDATE 
                db_saas_center.sum_up_tenement_table
            SET 
                tenement_name = '{}',
                tenement_update_time = '{}',
                tenement_white_image = '{}',
                tenement_color_images = '{}',
                tenement_remark = '{}'
            WHERE 
                tenement_id = {}
            ;""".format(tenement_name,
                        get_datatime(), tenement_white_image, tenement_color_images, tenement_remark,tenement_id)

        # 执行sql语句
        db.update(update_sum_up_tenement_table_sql)

        # 返回对应的响应
        return create_response(code=200, msg="租户信息修改成功。")
